/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package mrp.persistencia.entity;

import java.io.Serializable;
import java.util.Date;
import java.util.List;
import javax.persistence.*;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;

/**
 *
 * @author root
 */
@Entity
@Table(name = "desgloseproyeccionproduccionmensual")
@NamedQueries({
    @NamedQuery(name = "Desgloseproyeccionproduccionmensual.findAll", query = "SELECT d FROM Desgloseproyeccionproduccionmensual d"),
    @NamedQuery(name = "Desgloseproyeccionproduccionmensual.findByNumeromesanio", query = "SELECT d FROM Desgloseproyeccionproduccionmensual d WHERE d.numeromesanio = :numeromesanio"),
    @NamedQuery(name = "Desgloseproyeccionproduccionmensual.findByNumeroparesproyectadofabricar", query = "SELECT d FROM Desgloseproyeccionproduccionmensual d WHERE d.numeroparesproyectadofabricar = :numeroparesproyectadofabricar"),
    @NamedQuery(name = "Desgloseproyeccionproduccionmensual.findByTotaldiaslaborablesmes", query = "SELECT d FROM Desgloseproyeccionproduccionmensual d WHERE d.totaldiaslaborablesmes = :totaldiaslaborablesmes"),
    @NamedQuery(name = "Desgloseproyeccionproduccionmensual.findByTotalparesproducirmes", query = "SELECT d FROM Desgloseproyeccionproduccionmensual d WHERE d.totalparesproducirmes = :totalparesproducirmes"),
    @NamedQuery(name = "Desgloseproyeccionproduccionmensual.findByObservacion", query = "SELECT d FROM Desgloseproyeccionproduccionmensual d WHERE d.observacion = :observacion"),
    @NamedQuery(name = "Desgloseproyeccionproduccionmensual.findByDigitador", query = "SELECT d FROM Desgloseproyeccionproduccionmensual d WHERE d.digitador = :digitador"),
    @NamedQuery(name = "Desgloseproyeccionproduccionmensual.findByFechadigitador", query = "SELECT d FROM Desgloseproyeccionproduccionmensual d WHERE d.fechadigitador = :fechadigitador")})
public class Desgloseproyeccionproduccionmensual implements Serializable {
    private static final long serialVersionUID = 1L;
    @Id
    @Basic(optional = false)
    @NotNull
    @Size(min = 1, max = 2147483647)
    @Column(name = "numeromesanio")
    private String numeromesanio;
    @Basic(optional = false)
    @NotNull
    @Column(name = "numeroparesproyectadofabricar")
    private int numeroparesproyectadofabricar;
    @Basic(optional = false)
    @NotNull
    @Column(name = "totaldiaslaborablesmes")
    private int totaldiaslaborablesmes;
    @Basic(optional = false)
    @NotNull
    @Column(name = "totalparesproducirmes")
    private int totalparesproducirmes;
    @Basic(optional = false)
    @NotNull
    @Size(min = 1, max = 2147483647)
    @Column(name = "observacion")
    private String observacion;
    @Basic(optional = false)
    @NotNull
    @Column(name = "digitador")
    private int digitador;
    @Basic(optional = false)
    @NotNull
    @Column(name = "fechadigitador")
    @Temporal(TemporalType.TIMESTAMP)
    private Date fechadigitador;
    @OneToMany(cascade = CascadeType.ALL, mappedBy = "desgloseproyeccionproducccionmensualFk")
    private List<Desgloseproyeccionlineaproduccion> desgloseproyeccionlineaproduccionList;
    @JoinColumn(name = "planificacionproyeccionmensual_fk", referencedColumnName = "anio")
    @ManyToOne(optional = false)
    private Planificacionproyeccionmensual planificacionproyeccionmensualFk;

    public Desgloseproyeccionproduccionmensual() {
    }

    public Desgloseproyeccionproduccionmensual(String numeromesanio) {
        this.numeromesanio = numeromesanio;
    }

    public Desgloseproyeccionproduccionmensual(String numeromesanio, int numeroparesproyectadofabricar, int totaldiaslaborablesmes, int totalparesproducirmes, String observacion, int digitador, Date fechadigitador) {
        this.numeromesanio = numeromesanio;
        this.numeroparesproyectadofabricar = numeroparesproyectadofabricar;
        this.totaldiaslaborablesmes = totaldiaslaborablesmes;
        this.totalparesproducirmes = totalparesproducirmes;
        this.observacion = observacion;
        this.digitador = digitador;
        this.fechadigitador = fechadigitador;
    }

    public String getNumeromesanio() {
        return numeromesanio;
    }

    public void setNumeromesanio(String numeromesanio) {
        this.numeromesanio = numeromesanio;
    }

    public int getNumeroparesproyectadofabricar() {
        return numeroparesproyectadofabricar;
    }

    public void setNumeroparesproyectadofabricar(int numeroparesproyectadofabricar) {
        this.numeroparesproyectadofabricar = numeroparesproyectadofabricar;
    }

    public int getTotaldiaslaborablesmes() {
        return totaldiaslaborablesmes;
    }

    public void setTotaldiaslaborablesmes(int totaldiaslaborablesmes) {
        this.totaldiaslaborablesmes = totaldiaslaborablesmes;
    }

    public int getTotalparesproducirmes() {
        return totalparesproducirmes;
    }

    public void setTotalparesproducirmes(int totalparesproducirmes) {
        this.totalparesproducirmes = totalparesproducirmes;
    }

    public String getObservacion() {
        return observacion;
    }

    public void setObservacion(String observacion) {
        this.observacion = observacion;
    }

    public int getDigitador() {
        return digitador;
    }

    public void setDigitador(int digitador) {
        this.digitador = digitador;
    }

    public Date getFechadigitador() {
        return fechadigitador;
    }

    public void setFechadigitador(Date fechadigitador) {
        this.fechadigitador = fechadigitador;
    }

    public List<Desgloseproyeccionlineaproduccion> getDesgloseproyeccionlineaproduccionList() {
        return desgloseproyeccionlineaproduccionList;
    }

    public void setDesgloseproyeccionlineaproduccionList(List<Desgloseproyeccionlineaproduccion> desgloseproyeccionlineaproduccionList) {
        this.desgloseproyeccionlineaproduccionList = desgloseproyeccionlineaproduccionList;
    }

    public Planificacionproyeccionmensual getPlanificacionproyeccionmensualFk() {
        return planificacionproyeccionmensualFk;
    }

    public void setPlanificacionproyeccionmensualFk(Planificacionproyeccionmensual planificacionproyeccionmensualFk) {
        this.planificacionproyeccionmensualFk = planificacionproyeccionmensualFk;
    }

    @Override
    public int hashCode() {
        int hash = 0;
        hash += (numeromesanio != null ? numeromesanio.hashCode() : 0);
        return hash;
    }

    @Override
    public boolean equals(Object object) {
        // TODO: Warning - this method won't work in the case the id fields are not set
        if (!(object instanceof Desgloseproyeccionproduccionmensual)) {
            return false;
        }
        Desgloseproyeccionproduccionmensual other = (Desgloseproyeccionproduccionmensual) object;
        if ((this.numeromesanio == null && other.numeromesanio != null) || (this.numeromesanio != null && !this.numeromesanio.equals(other.numeromesanio))) {
            return false;
        }
        return true;
    }

    @Override
    public String toString() {
        return "mrp.persistencia.entity.Desgloseproyeccionproduccionmensual[ numeromesanio=" + numeromesanio + " ]";
    }
    
}
